package com.level2app.di;

import android.app.Activity;

import com.level2app.di.scope.ActivityScope;
import com.level2app.ui.SplashActivity;
import com.level2app.ui.account.AccountDetailsActivity;
import com.level2app.ui.account.HelpAndSupportActivity;
import com.level2app.ui.account.LegalActivity;
import com.level2app.ui.account.SettingNoticeActivity;
import com.level2app.ui.account.SettingsActivity;
import com.level2app.ui.app.MainActivity;
import com.level2app.ui.home.CategoriesListActivity;
import com.level2app.ui.home.CategoryActivity;
import com.level2app.ui.home.NotificationsActivity;
import com.level2app.ui.login.CheckEmailActivity;
import com.level2app.ui.login.EmailLoginActivity;
import com.level2app.ui.search.SearchActivity;
import com.level2app.ui.search.SearchAddressActivity;
import com.level2app.ui.search.SearchFilterActivity;
import com.level2app.ui.search.SearchResultActivity;
import com.level2app.ui.wallet.AmountDetailsActivity;
import com.level2app.ui.wallet.TransactionsListActivity;
import com.level2app.ui.welcome.FinishSignUpActivity;
import com.level2app.ui.welcome.ReferralCodeActivity;
import com.level2app.ui.welcome.ScanFinishActivity;
import com.level2app.ui.welcome.ScanQRActivity;
import com.level2app.ui.welcome.SignNameActivity;
import com.level2app.ui.welcome.WelcomeActivity;
import com.level2app.ui.welcome.WelcomeLevel2Activity;
import com.level2app.ui.welcome.WelcomeScanQRActivity;

import dagger.Component;

@ActivityScope
@Component(modules = ActivityModule.class, dependencies = AppComponent.class)
public interface ActivityComponent {

    Activity getActivity();

    void inject(SplashActivity activity);

    void inject(MainActivity activity);

    void inject(WelcomeActivity activity);

    void inject(WelcomeScanQRActivity activity);

    void inject(ScanQRActivity activity);

    void inject(ScanFinishActivity activity);

    void inject(SignNameActivity activity);

    void inject(ReferralCodeActivity activity);

    void inject(EmailLoginActivity activity);

    void inject(CheckEmailActivity activity);

    void inject(FinishSignUpActivity activity);

    void inject(WelcomeLevel2Activity activity);

    void inject(CategoriesListActivity activity);

    void inject(CategoryActivity activity);

    void inject(SearchActivity activity);

    void inject(SearchResultActivity activity);

    void inject(SearchFilterActivity activity);

    void inject(NotificationsActivity activity);

    void inject(AmountDetailsActivity activity);

    void inject(TransactionsListActivity activity);

    void inject(SearchAddressActivity activity);

    void inject(SettingsActivity activity);

    void inject(SettingNoticeActivity activity);

    void inject(LegalActivity activity);

    void inject(HelpAndSupportActivity activity);

    void inject(AccountDetailsActivity activity);

}